package cn.labbook.bluetooth.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * Created by Administrator on 2018/9/3.
 * Description : 上传文件工具类
 */
public class FileUploadUtils {

    /**
     * MultipartFile 文件  转化为 File 文件
     *
     * @param file
     */
    public static File multipartFileToFile(MultipartFile file, String path) throws IOException {
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 获取文件后缀
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        // 用uuid作为文件名，防止生成的临时文件重复
        final File tempFile = new File(path, UUID.randomUUID().toString() + suffix);
        //如果路径不存在就创建一个
        if(!tempFile.getParentFile().exists()){
            tempFile.getParentFile().mkdirs();
        }
        // MultipartFile to File
        file.transferTo(tempFile);
        return tempFile;
    }
    /**
     * MultipartFile 文件  转化为 File 文件
     *
     * @param file
     */
    public static File multipartFileToFile(MultipartFile file) throws IOException {
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 获取文件后缀
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        // 用uuid作为文件名，防止生成的临时文件重复
        final File tempFile = File.createTempFile(UUID.randomUUID().toString(), suffix);
        // MultipartFile to File
        file.transferTo(tempFile);
        return tempFile;
    }

    /**
     * 删除临时文件
     *
     * @param files
     */
    public static void deleteFiles(File... files) {
        for (File file : files) {
            if (file.exists()) {
                file.delete();
            }
        }
    }
}
